#define _CRT_SECURE_NO_WARNINGS 1

//#include <iostream>
//#include <vector>
//#include <string>
//#include <algorithm>
//#include <limits.h>
//using namespace std;
//
//int row, n, m;
//
//int main()
//{
//    cin >> row;
//    string s;
//    vector<int> v;
//    vector<int> count;
//    int min = INT_MAX , max = 0;
//    getchar();
//    while (row)
//    {
//        int x = 0;
//        s.clear();
//        char c = 0;
//        while ((c = getchar()) != ' ' && c != '\n')
//        {
//            s += c;
//        }
//        if (s.size())
//        {
//            x = stoi(s);
//            v.push_back(x);
//            if (x > max)
//                max = x;
//            if (x < min)
//                min = x;
//        }
//        if (c == '\n')
//            --row;
//    }
//    count.resize(max - min + 1, 0);
//    for (int i = 0; i < v.size(); ++i)
//    {
//        ++count[v[i] - min];
//    }
//    for (int i = 0; i < count.size(); ++i)
//    {
//        if (count[i] == 2)
//            m = i + min;
//        if (count[i] == 0)
//            n = i + min;
//    }
//    cout << n << ' ' << m << endl;
//
//    return 0;
//}
// 
// 
// 
//#include <iostream>
//#include <vector>
//#include <set>
//#include <limits.h>
//using namespace std;
//
//int main()
//{
//    int n;
//    int ret1, ret2;
//    int min = INT_MAX, max = 0;
//    set<int> s;
//
//    cin >> n;
//
//    int sum = 0;
//    for (int i = 0; i < n; ++i)
//    {
//        int x = 0;
//        while (cin >> x)
//        {
//            sum += x;
//            if (x > max) max = x;
//            if (x < min) min = x;
//            pair<set<int>::iterator, bool> it = s.insert(x);
//            if (it.second == false)
//            {
//                ret2 = x;
//            }
//            if (getchar() == '\n') break;
//        }
//    }
//
//    ret1 = (max - min + 1) * (max + min) / 2 - sum + ret2;
//    cout << ret1 << ' ' << ret2;
//
//    return 0;
//}

#include <iostream>
#include <vector>
using namespace std;

int main()
{
    int n;
    int day = 0;
    cin >> n;
    cin >> day;

    vector<int> v(n,0);

    for (int i = 0; i < n - 1; ++i)
    {
        cin >> v[i];
    }

    int max = 0;
    int sum = 0;
    for (int left = 0, right = 0; right < n; ++right)
    {
        sum += v[right];
        while (left < right && v[left] == 0)
        {
            ++left;
        }
        if (sum >= 2 * day)
        {
            if ((right - left + 1) > max)
            {
                max = right - left + 1;
            }
            while (sum >= 2 * day)
            {
                sum -= v[left++];
            }
        }
    }

    cout << max + 1 << endl;

    return 0;
}